import {
    Entity,
    PrimaryGeneratedColumn,
    Column,
} from 'typeorm';

@Entity('tb_role')
export class Role {

    public static readonly ROLE_NORMAL = "ROLE_NORMAL";
    public static readonly ROLE_SELLER = "ROLE_SELLER";
    public static readonly ROLE_ADMIN = "ROLE_ADMIN";

    /** 普通用户唯一ID，自增（如10001、10002...），用于内部关联订单 */
    @PrimaryGeneratedColumn('increment', {
        type: 'bigint',
        comment: '唯一ID，自增（如10001、10002...），用于内部关联订单'
    })
    id: number;

    /** 角色编码（如“ROLE_NORMAL”、“ROLE_SELLER”） */
    @Column({
        type: 'varchar',
        length: 50,
        comment: '角色编码（如“ROLE_NORMAL”、“ROLE_SELLER”）'
    })
    code: string;

    /** 角色名称（如“普通用户”、“经销商”） */
    @Column({
        type: 'varchar',
        length: 50,
        comment: '角色名称（如“普通用户”、“经销商”）'
    })
    name: string;

    /** 角色描述（如“普通用户角色”、“经销商角色”） */
    @Column({
        type: 'varchar',
        length: 500,
        nullable: true,
        comment: '角色描述（如“普通用户角色”、“经销商角色”）'
    })
    description?: string;
}
